home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / vbdatabs / strdb.txt < prev    next >
Text File  |  1999-03-18  |  9KB  |  217 lines

  1. #######################
  2. #### Start of File ####
  3. #######################
  4. ----------------------------------------------------------------- 
  5. File Name: strdb.txt 
  6. Contents: Information about the general-purpose string database.
  7. ----------------------------------------------------------------- 
  8.  
  9. TOPICS:
  10. -------
  11. Overview
  12. Customizing
  13. User Interfaces
  14. Compiling
  15.  
  16. OVERVIEW:
  17. --------- 
  18. This is a general-purpose object-oriented string database, based
  19. on VBD technology. It is used to represent one unique key member,
  20. up to 7 general-purpose string members, and one comment string.
  21. All the string members can grow and shrink as needed. The C++
  22. code is a template that can be used to create specialized
  23. database applications portable between DOS and UNIX systems. This
  24. code has been compiled and tested under DOS, Windows 95, HPUX
  25. 10.20, Solaris 2.4, and RedHat Linux 5.2.
  26.  
  27. When a database file is created the binary file itself is
  28. platform independent. Different types of machines running the
  29. same version of the application compiled for that platform can
  30. access the file. This allows a single database to be distributed
  31. across the network. For example: if the main database file
  32. resides on an UNIX server, then a PC client or another UNIX work
  33. station can NFS mount the directory where the database resides
  34. and use the same database. 
  35.  
  36. All of the string objects created by the StrDB classes are
  37. managed by the Persistent Object Database manager and the
  38. Persistent base class. Files created by the POD manager are given
  39. a ".pod" extension to allow the user to identify them as POD data
  40. files. Index files created by the POD manager are given a ".btx"
  41. extension to allow the user to identify them as B-tree index
  42. files. An index file is a VBD file used to store the address
  43. where the object's data can be found in the data file. Index
  44. files were implemented to increase the speed of search
  45. operations. 
  46.  
  47. Any files created directly with the VBD file manager are usually
  48. given a ".vbd" file extension. The POD manager and the Persistent
  49. base class gives persistent objects the ability to store complex
  50. types, pointers, and references. The VBD file manager used alone
  51. is not limited to object-oriented databases. It can be used to
  52. store any type of variable length binary data. However, files
  53. created using either the POD manager or the VBD file manager will
  54. maintain the same file structure and be identified by the same
  55. signature stored in the file header. 
  56.  
  57. CUSTOMIZING:
  58. ------------
  59. All the components of the String Database are located in the
  60. "strdb" subdirectory. Any changes the C++ source code files or
  61. makefiles located here will effect all the String Database
  62. applications. The "template" subdirectory contains a template
  63. directory that can be used to create new applications. To create
  64. a new String Database application copy the contents of the
  65. "template" directory to another directory named after the
  66. application: 
  67.  
  68. xcopy /e/s template MyDbase (for DOS or Windows)
  69. cp -r template MyDbase (for UNIX)
  70.  
  71. The "MyDbase" directory will contain all the necessary files
  72. needed to build a new application: 
  73.  
  74. bin      - Binary directory for the program executables.
  75. config   - DB configuration used to customize before compiling.
  76. curses   - Makefiles for the Curses version.
  77. db_files - Default location for the data file and the index file.
  78. wx168b   - Makefiles for the wxWindows version.
  79.  
  80. To customize the application, enter the "config" directory and
  81. modify the following files: 
  82.  
  83. - Modify "dbconfig.hpp" file to customize the database
  84. - Modify "dbvers.hpp" file to uniquely identify the database
  85. - Modify "dbtcfg.hpp" file to customize the user interface 
  86.  
  87. The "dbconfig.hpp" file is used to label the data members of the
  88. StrDB class. The key member is a unique string used to identify
  89. each item in the database. It must always be set in the
  90. "dbconfig.hpp file. The general-purpose members can represent any
  91. other information that is associated with the key member. The
  92. comment string is provided to allow the user to enter a detailed
  93. description of the key member and its associated general-purpose
  94. members. If all the general-purpose members are not used,
  95. including the comment string, then space for the unused members 
  96. will still be allocated in the database. This allows them to be 
  97. used in the future by modifying the "dbconfig.hpp" file and
  98. recompiling the program. 
  99.  
  100. The string members, including the key member, are implemented as
  101. a concrete data type by the StrDB class (see the "strdb.hpp" and
  102. "strdb.cpp" files.) The StrDB class is used to create individual
  103. objects made up of all the sting members. These objects are then
  104. stored to disk by the methods defined in the Persistent base
  105. class. A unique class identification number is stored with each
  106. object. The class ID must be modified in the "dbvers.hpp" file to
  107. uniquely identify this version of the string database objects.
  108. This will prevent other string database applications using this
  109. template from being merged or opened with this version of the
  110. string database program. 
  111.  
  112. USER INTERFACES:
  113. ---------------- 
  114.  
  115. wxWINDOWS VERSION:
  116. A portable windows based version was developed for Windows 95 and
  117. Motif using the "wxWindows" GUI library, version 1.68B. For more
  118. information on wxWindows, visit the wxWindows Home Site at: 
  119.  
  120. http://web.ukonline.co.uk/julian.smart/wxwin/
  121.  
  122. The Windows 95 version was built with Microsoft Visual C/C++
  123. version 4.2 and tested under Windows 95A, Windows 95B, and
  124. Windows NT workstation version 4.0. The Motif version was built
  125. with HPUX C++ version A.10.24 and tested under HPUX 10.20 on
  126. series 700 workstations and series 800 servers. 
  127.  
  128. CURSES VERSION:
  129. The curses version was developed for use with UNIX systems to
  130. access the database via telnet sessions. It was built with the
  131. Independent Terminal Type class and ported to DOS for testing
  132. purposed. In order for the terminal interface to work under DOS
  133. and Windows 95 the ANSI.SYS driver must be loaded. 
  134.  
  135. CUSTOMIZING THE USER INTERFACE PROGRAMS:
  136. The "dbtcfg.hpp" is used to customize both the curses and the
  137. WxWindows user interfaces. The program name is set here, along
  138. with the default file names for the database and the program
  139. configuration file. 
  140.  
  141. COMPILING:
  142. ----------
  143.  
  144. CURSES VERSION:
  145. Four makefiles are provided in the "curses" directory to compile
  146. the source code on one of four different compilers: 
  147.  
  148. "msvc40.mak"  - Makefile for Microsoft visual C/C++ 4.2
  149. "djgpp.mak"   - Makefile for DJGPP gcc 2.7.2.1 
  150. "gnu_gcc.mak" - Makefile for GNU g++ 2.7.2.1 and egcs-2.90.29
  151. "hpux10.mak"  - Makefile for HPUX C++ A.10.24  
  152.  
  153. wxWINDOWS VERSION:
  154. Two makefiles are provided in the "wx168b" directory to compile
  155. the source code with wxWindows version 1.68B on one of two
  156. different compilers: 
  157.  
  158. "msvc40.mak"  - Makefile for Microsoft visual C/C++ 4.2
  159. "hpux10.mak"  - Makefile for HPUX C++ A.10.24  
  160.  
  161. BUILDING THE EXECUTABLE:
  162. Before compiling the application change the PROJECT macro, in the
  163. makefile, to set the name of the executable. To compile use the
  164. "make -f" option followed by the makefile name. To compile using
  165. MSVC use the "nmake -f" option. The resulting executable will be
  166. named after the name set by the PROJECT macro in the makefile. 
  167. Use the following examples to compile the curses version using the 
  168. make utility:
  169.  
  170. make VBDDIR=/apps/database/vbdbase -f hpux10.mak
  171. make VBDDIR=/apps/database/vbdbase -f gnu_gcc.mak
  172. make VBDDIR=D:/vbdbase -f djgpp.mak
  173. nmake VBDDIR=D:\vbdbase -f msvc40.mak
  174.  
  175. Use the following examples to compile the wxWindows version using 
  176. the make utility:
  177.  
  178. make VBDDIR=/apps/database/vbdbase WXWIN=/apps/wxwin -f hpux10.mak
  179. nmake VBDDIR=D:\vbdbase WXWIN=C:\wx -f msvc40.mak
  180.  
  181. The VBDDIR variable points the installation path of the VBD 
  182. distribution and the WXWIN variable points to the wxWindows 
  183. library installation path. NOTE: The DJGPP compiler requires 
  184. the use of UNIX style path separators.
  185.  
  186. INSTALLING AND CONFIGURING:
  187. Execute a "make -f (makefile name) install" to move the
  188. executable to the bin directory and a "make -f (m